// console.log(a); //未定义a之前先输出a,直接报错,有变量提升,但不进行初始化,不会和var一样初始化为undefined
let a ; //定义但未赋值
a = 1; //首次赋值
a = 2 ; //重新赋值
console.log(a);
// let a = 3; //重复声明a 会报错
console.log(a);

if(true){
    let b = 2;
    console.log('在if中的b',b); //输出2
}

console.log('在if外面的b',b); //有块级作用域,无法访问,报错not defined